This invention relates to a control technology for cases where virtualization software is used on a computer that has a multicore processor.
In recent years, for a storage apparatus used in a company, importance is put on not only access performance of each storage apparatus but also cost performance such as low price, energy savings, and space savings. Up to now, an individual dedicated storage apparatus is provided depending on a kind of access interface (I/F) or a protocol. However, in recent years, a unified storage apparatus including access I/Fs of both a storage area network (SAN) and a local area network (LAN) has been emerging, and high cost performance thereof has been attracting attention.
In the unified storage apparatus, it is necessary to simultaneously operate both a block server operating system (OS) for processing a block access (HDD access method on a sector basis) from a Storage Area Network Interface (SAN I/F) within the same casing and a file server OS for processing a file access (data access method on a file basis) from a Local Area Network Interface (LAN I/F). For example, virtualization software such as a virtual machine monitor (VMM) is known as means for realizing simultaneous operations of a plurality of OSes on a single computer.
The virtualization software is a technology that has been used mainly for a server apparatus, and generates a plurality of logical partitions on a single computer. Individual OSes can be independently executed in the respective logical partitions, and hence the simultaneous operations thereof can be realized by generating two logical partitions within the unified storage apparatus, operating the block server OS in one logical partition and the file server OS as a guest OS in the other logical partition, and coupling the two through a virtual communication channel.
A main role of the virtualization software is to manage correspondences between physical resources (processor, memory, and I/O device) of the computer and the logical partition. In order to manage the physical resources, the virtualization software constantly monitors a usage situation of the processor in the logical partition, a communication situation involving an interrupt, and the like, and, when access is made to resources more than the resources allocated to the guest OS in the logical partition, suppresses the access or substitutes processing.
Considerable deterioration in performance (overhead) occurs when the entire processing is performed by software, and hence x86-series processors in recent years have a function dedicated to hardware support of the management of the physical resources performed by the virtualization software (see, for example, JP 2010-108271 A). In the following description, the function of this kind is referred to as “hardware-assisted virtualization”.
In the case where virtualization software is used, every processor core in a socket is run with virtualization enabled. Similarly, in the case where virtualization software is not used, every processor core in a socket is run with virtualization disabled. The premise of virtualization in a multicore processor computer is that a single VMM or a single OS runs directly on a multicore processor and, when the multicore processor needs to be reset, every processor core in a socket of the multicore processor is reset (see, for example, JP 6-325008 A).